QT       += core gui
QT += serialbus
QT += serialport
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++17

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp \
    modbus_manager.cpp \
    module_loader.cpp

HEADERS += \
    mainwindow.h \
    modbus_manager.h \
    module_interface.h \
    module_loader.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

RESOURCES += \
    resource.qrc

# 设置输出目录
CONFIG(debug, debug|release) {
    DESTDIR = ../debug
    OBJECTS_DIR = ../debug
} else {
    DESTDIR = ../release
    OBJECTS_DIR = ../release
}

# Linux 下设置 rpath，便于与 .so 同目录运行
unix:!mac {
    QMAKE_LFLAGS += -Wl,-rpath,'$$ORIGIN'
}
